An important first step in detecting, recognizing, and classifying objects and textures in images is the selection of appropriate features. Good features should be discriminative, error resilient, easy to determine, and efficient to process.
Pixel intensities, colors, and gradients are example features that can be used in computer vision applications. However, those features are unreliable in the presence of illumination changes and non-rigid motion. A natural extension of pixel features are histograms, where an image region is represented with a non-parametric estimation of joint distributions of pixel features. Histograms have been widely used for non-rigid object tracking. Histograms can also be used for representing textures, and classifying objects and textures. However, the determination of joint distributions for several features is time consuming.
Haar features in an integral image have been used with a cascaded AdaBoost classifier for face detection, Viola, P., Jones, M., “Rapid object detection using a boosted cascade of simple features,” Proc. IEEE Conf. on Computer Vision and Pattern Recognition, Vol. 1., pp. 511-518, 2001, incorporated herein by reference.
Another method detects scale space extremas for localizing keypoints, and uses arrays of orientation histograms for keypoint descriptors, Lowe, D., “Distinctive image features from scale-invariant keypoints,” Intl. J. of Comp. Vision, Vol. 60, pp. 91-110, 2004. Those descriptors are very effective in matching local neighborhoods in an image, but do not have global context information.